package util;

public class StringUilts {


	/**
	 *
	 * @param cs
	 * @return
	 */
	public static boolean isBlank(CharSequence cs) {
		int strLen;
		if (cs != null && (strLen = cs.length()) != 0) {
			for(int i = 0; i < strLen; ++i) {
				if (!Character.isWhitespace(cs.charAt(i))) {
					return false;
				}
			}
			return true;
		} else {
			return true;
		}
	}

	public static boolean isNotBlank(CharSequence cs) {
		return !isBlank(cs);
	}

	 /**
     *
     * 
     * @param str
     * @return
     */
    public static String initcap(String str) {
        char[] ch = str.toCharArray();
        if (ch[0] >= 'a' && ch[0] <= 'z') {
            ch[0] = (char) (ch[0] - 32);
        }
        return new String(ch);
    }
    /**
     * 
     * @param str
     * @return
     */
    public static String initLowerCase(String str) {
        char[] ch = str.toCharArray();
        if (ch[0] >= 'A' && ch[0] <= 'Z') {
            ch[0] = (char) (ch[0] + 32);
        }
        return new String(ch);
    }
    /** 小写转大写
     * @param ch
     * @return
     */
    public static String initChar(char ch){
    	 if (ch >= 'a' && ch <= 'z') {
             ch = (char) (ch- 32);
         }
         return String.valueOf(ch);
    }
    
    public static String initCapAndUnderline(String str){
    	str = str.substring(0, 1).toUpperCase()+str.substring(1);
    	
    	int i = str.indexOf("_");
    	while(i!=(-1)){
    			if(str.length()-1>i){
    				str = str.substring(0,i)+initChar(str.charAt(i+1))+str.substring(i+2);
    			}else{
    				str = str.substring(0,i);
    			}
    			i = str.indexOf("_");
    	}
    	
    	return str;
    	
    }
    
    public static String initUnderline(String str){
    	int i = str.indexOf("_");
    	while(i!=(-1)){
    			if(str.length()-1>i){
    				str = str.substring(0,i)+initChar(str.charAt(i+1))+str.substring(i+2);
    			}else{
    				str = str.substring(0,i);
    			}
    			i = str.indexOf("_");
    	}
    	
    	return str;
    	
    }
    
    public static String getFisrtLowerCaseChar(String str){
		if(str==null){
			throw new NullPointerException("str can not null");
		}
		return str.substring(0,1).toLowerCase()+str.substring(1);
	}
    
    public static String getFisrtUpperCaseChar(String str){
  		if(str==null){
  			throw new NullPointerException("str can not null");
  		}
  		return str.substring(0,1).toUpperCase()+str.substring(1);
  	}
}
